package com.ssyt.yt1.day11.basetype;

/**
 * Integer
 * 
 * @author Administrator
 *
 */
public class WrapperClassDemo {

	public static void main(String[] args) {
		// 原生类型 -> 包装类
		Integer integer = new Integer(1024);
		// 包装类 -> 原生类型
		int intType = integer.intValue();

		System.out.println(Integer.toHexString(intType));
		System.out.println(Integer.toOctalString(intType));
		System.out.println(Integer.toBinaryString(intType));

		int number = 123;
		// 把原生类型转成包装类再传递给Object
		print(number);

		// 自动装箱和自动拆箱（注：在JDK1.5以后再拥有此机制）
		Integer a = number;
		int b = a; // a.intValue();

		// Integer内部会缓存-128~127！
		Integer integer1 = 128;
		Integer integer2 = 128;
		System.out.println(integer1 == integer2);
		System.out.println(integer1.equals(integer2));

		// 字符串 -> 整数
		String str = "1024";
		// Integer c = new Integer(str);
		// int c = Integer.parseInt(str);
		// Integer c = Integer.valueOf(str);

		// 其它数据类型 -> 字符串
		Boolean flag = true;
		System.out.println(flag + "");
	}

	public static void print(Object object) {
		System.out.println(object);
	}
}
